#!/bin/bash
#
# Copyright (C) 2011-2020 Aratelia Limited - Juan A. Rubio and contributors
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

#
# Simple pidstat wrapper for the tizonia process
#

declare -ar TIZONIA_PIDSTAT_DEPS=( \
    'pidstat' \
    'pidof' \
)

PROCNAME=tizonia
[[ -n "$2" ]] && { PROCNAME=$2; }

function usagexit {
    echo >&2 "$(basename $0) [cpu|mem] [interval]"
    exit 1
}

function main {

    # Check dependencies
    for cmd in "${TIZONIA_PIDSTAT_DEPS[@]}"; do
        command -v "$cmd" >/dev/null 2>&1 \
            || { echo >&2 "This program requires $cmd. Aborting."; exit 1; }
    done

    report=""
    case "$1" in
        cpu) report="-I";;
        mem) report="-r";;
        *) usagexit;;
    esac

    interval=10

    pidstat "$interval" "$report" -p $(pidof $PROCNAME)
}

main "$@"
